# @Author   : XiongBinFei
# @Version  : 1.0
# @Time     : 2025/3/26 15:06

def main_module():
    while True:
        user_input = input("请输入字符串（长度1-255）: ")
        if 0 < len(user_input) <= 255:
            return user_input
        print("输入不合法！长度需在1-255之间")

import re

def filter_letters(input_str):
    # 使用正则表达式过滤非字母字符（网页8推荐方案）
    return re.sub('[^A-Za-z]', '', input_str)

def reverse_string(input_str):
    reversed_str = ""
    # 符合循环算法要求（网页11基础方案增强版）
    for i in range(len(input_str)-1, -1, -1):
        reversed_str += input_str[i]
    return reversed_str

def caesar_cipher(text, shift):
    encrypted = ""
    # 基于网页15的凯撒密码优化实现
    shift = shift % 26
    for char in text:
        if char.isupper():
            encrypted += chr((ord(char) + shift - 65) % 26 + 65)
        else:
            encrypted += chr((ord(char) + shift - 97) % 26 + 97)
    return encrypted


def process_flow():
    # 主流程控制（符合网页3系统设计规范）
    original = main_module()
    filtered = filter_letters(original)
    reversed_str = reverse_string(filtered)
    key = int(input("设置凯撒密码偏移量: "))
    encrypted = caesar_cipher(reversed_str, key)

    print(f"\n处理流程：")
    print(f"原始输入：{original}")
    print(f"过滤结果：{filtered}")
    print(f"反转结果：{reversed_str}")
    print(f"加密结果（偏移{key}）：{encrypted}")


if __name__ == "__main__":
    process_flow()











